package com.aysafety.iotdataplatformweb.services.microseism;

import java.util.List;
import java.util.Map;

public interface MicroseismService {
    long countByMicroseism(String mineId, String startTime, String endTime, int timeSpan, String timeUnit)
        throws Throwable;

    List<Map<String, Object>> queryRealTimeByMicroseism(String mineId, String startTime, String endTime, int timeSpan,
        String timeUnit, int page, int size, String startRow) throws Throwable;

    /**
     * @Description:大能量微震事件
     * @Param: [mineId, startTime, endTime]
     * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/23
     */
    List<Map<String, Object>> queryWeblargeEnergy(String mineId, String startTime, String endTime) throws Throwable;

    /**
     * @Description:频次
     * @Param: [mineId, startTime, endTime]
     * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/23
     */
    List<Map<String, Object>> queryWebFrequency(String mineId, String startTime, String endTime,int size) throws Throwable;

    /**
     * @Description:频次数据数量
     * @Param: [mineId, startTime, endTime]
     * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/23
     */
    long countWebFrequency(String mineId, String startTime, String endTime) throws Throwable;

    /**
     * 能量偏差
     *
     * @param mineId
     * @param startTime
     * @param endTime
     * @return
     */
    List<Map<String, Object>> queryWebEnergyDeviation(String mineId, String startTime, String endTime) throws Throwable;


    List<Map<String, Object>> frequencyPer(String mineId, String startTime, String endTime) throws Throwable;

    /** 
    * @Description: 综合预警
    * @Param: [mineId, startTime, endTime] 
    * @return: java.util.Map<java.lang.String,java.lang.Object> 
    * @Author: ChengQi 
    * @Date: 2019/1/7 
    */ 
    Map<String, Object> comprehensiveWarning(String mineId, String startTime, String endTime) throws Throwable;

    /** 
    * @Description: 离散度
    * @Param: [mineId, startTime, endTime] 
    * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> 
    * @Author: ChengQi 
    * @Date: 2019/3/13 
    */ 
    List<Map<String, Object>> queryDispersion(String mineId, String startTime, String endTime);
}
